1. Field of the Invention
The present invention relates to a system, apparatus and method for transmitting multimedia data including video data, audio data and the like.
2. Description of the Related Art
Nowadays, various methods for distributing multimedia data including text, moving pictures, sounds and the like via a network in real time have been practically utilized. FIG. 3 is a block diagram illustrating an example of the configuration of an ordinary multimedia-data distribution system in which a single distribution server 302 is used.
In FIG. 3, a storage medium 301, such as a hard disk or the like, stores multimedia data including text, moving pictures, sounds and the like. Usually, the data is compressed (encoded) in advance by an optimum method. This data form is called a bitstream.
FIG. 4 is a diagram illustrating a manner in which bitstreams of video data and audio data are superposed. When simultaneously transmitting video data and audio data, the two types of data are superposed by being divided into data having a specific size, as shown in FIG. 4. In FIG. 4, there are shown header information 401, video bitstreams 403, 407 and 411, and audio bitstreams 405, 409 and 413. Time information called a time stamp is simultaneously added to each bitstream. In FIG. 4, there are shown times stamps 402, 406 and 410 for respective succeeding video bitstreams, and time stamps 404, 408 and 412 for respective succeeding audio bitstreams.
Returning to FIG. 3, a transmitter 303 at the client side assigns for a distribution server 302 data for specifying bitstream data required by a client. The distribution server 302 distributes bitstream data in response to a request from the client. A receiver 304 receives bitstreams from a transmission channel.
A demultiplexer 305 divides received bitstream data in units of a video bitstream and an audio bitstream. A video decoder 306 and an audio decoder 307 decode video bitstreams and audio bitstreams, respectively. A synchronization control unit 308 receives video and audio synchronization control data (time stamps) from the demultiplexer 305, and performs synchronization control for reproducing video and audio data. There are also shown a video reproducer 309, and an audio reproducer 310.
Next, another configuration of the system will be described with reference to FIG. 5. FIG. 5 is a block diagram illustrating another example of the configuration of an ordinary multimedia-data distribution system in which a plurality of distribution servers 503 and 504 are used.
In FIG. 5, there are shown storage media 501 and 502, such as hard disks or the like, for storing data distributed from a server 1 503 and a server 2 504, respectively. Each of the distribution server 1 503 and the distribution server 2 504 distributes bitstream data in response to a client's request. In this case, video bitstreams and audio bitstreams are provided in different servers, i.e., in the server 1 503 and the server 2 504, respectively.
A request is transmitted from a transmitter 505 at the client side to each distribution server and is received by a separate receiver (not necessarily a physical receiver, but control may be performed by a plurality of sessions on the same transmission channel).
When respective media are provided in a state of being distributed in such a manner, the relationship between the respective media is described in an appropriate language and the positions of the respective media are clearly indicated (by URL (Uniform Resource Locator) or the like). The method of description will not be particularly mentioned in this specification.
Receivers 506 and 507 at the client side receive bitstream data from corresponding distribution servers. The receivers 506 and 507 are not necessarily physically separated, but are often provided in the form of software modules capable of performing transmission sessions with corresponding servers. In the case of FIG. 5, since data is already divided into bitstreams for respective media, demultiplexing is unnecessary, and received bitstreams are directly transmitted to corresponding ones of decoders 508 and 510. Subsequent processing after this stage is the same as in the conventional case shown in FIG. 3.
A video decoder 508 and an audio decoder 510 decode video bitstreams and audio bitstreams, respectively. A synchronization control unit 509 receives video and audio synchronization control data from the receivers 506 and 507, respectively, and performs synchronization control for reproducing video and audio data. There are also shown a video reproducer 511 and an audio reproducer 512.
However, in the case shown in FIG. 3, since it is necessary to store in advance video and audio multimedia bitstreams by multiplexing the data, this approach is inadequate for applications such as a distributed database and the like.
In the case shown in FIG. 5, there is the possibility that in a transmission channel from the server 1 to the client and a transmission channel from the server 2 to the client, it is sometimes difficult to realize optimum synchronization at the receiving client side due to differences in the transmission rate and the state of the network.